Conversation
PR Reviewer Guide 🔍
|
PR Code Suggestions ✨
|
It was using the wrong download method if the signatures file has been hosted with S3 signed URL instead of CDN url.
On Windows, the @io_proxy object could be holding an open file descriptor on the target zip filename when processing a diff file. Fixed it by not opening it at all.
… retry mechanism for 404 errors, allowing the process to wait and attempt to download signatures again after a minute.
This handles case with windows exe and dll files problem.
… names and implement tests for unzip functionality. This allows users to choose whether to add underscores to filenames during extraction, improving file management flexibility.
- Added a requirement for the version file to access the current version of PatchKitTools. - Modified the package naming in the create_package method to include the version number in the output zip file name, improving clarity and version tracking.
Introduces WindowsLongPath module with three methods: - fix(): adds \\?\ prefix for Ruby File I/O operations - safe_rm_rf(): uses rd /s /q on Windows (FileUtils.rm_rf fails with \\?\) - short_path(): returns 8.3 short names for native C FFI calls (librsync, turbopatch, xxhash) since fopen() cannot handle \\?\ prefix Applied across 18 files. Design choices: - Zip::File.open/foreach do NOT use fix() (rubyzip incompatible with \\?\) - zip.add source paths DO use fix() (rubyzip reads via File.open internally) - All methods are no-ops on non-Windows platforms Also fixes: upload_version.rb app method was defined outside class scope, platform.rb x64 CPU detection, librsync.rb absolute DLL path resolution, and adds non-ASCII filename filtering in content packaging.
rs_rdiff_delta() return value was previously ignored and output file size was not validated. Antivirus software on client machines can interfere with file I/O, producing 0-byte delta files that crash server-side content processing with rdiff patch error 103 (RS_INPUT_ENDED). build_delta() now retries up to 3 times with a 3-second delay, checking both the native function return code and the output file size (minimum 5 bytes for a valid delta). Version bump to 3.6.4
Check allow_channel_direct_publish from API response before blocking non-diff_fast uploads to channel apps.
No description provided.